package com.ruoyi.shop.popularize.ad.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.mall.common.domain.DtsAd;
import com.ruoyi.mall.common.mapper.DtsAdMapper;
import com.ruoyi.shop.popularize.ad.service.IDtsAdService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

/**
 * 广告Service业务层处理
 *
 * @author ruoyi
 * @date 2025-02-18
 */
@Service
public class DtsAdServiceImpl implements IDtsAdService
{
    @Autowired
    private DtsAdMapper dtsAdMapper;

    @Autowired
    public RedisTemplate redisTemplate;

    /**
     * 查询广告
     *
     * @param id 广告主键
     * @return 广告
     */
    @Override
    public DtsAd selectDtsAdById(Long id)
    {
        return dtsAdMapper.selectDtsAdById(id);
    }

    /**
     * 查询广告列表
     *
     * @param dtsAd 广告
     * @return 广告
     */
    @Override
    public List<DtsAd> selectDtsAdList(DtsAd dtsAd)
    {
        return dtsAdMapper.selectDtsAdList(dtsAd);
    }

    /**
     * 新增广告
     *
     * @param dtsAd 广告
     * @return 结果
     */
    @Override
    public int insertDtsAd(DtsAd dtsAd)
    {
        // 在新增时判断缓存中key为aaa是否存在   存在即删除  不存在则不处理
        redisTemplate.delete("aaa");
        return dtsAdMapper.insertDtsAd(dtsAd);
    }

    /**
     * 修改广告
     *
     * @param dtsAd 广告
     * @return 结果
     */
    @Override
    public int updateDtsAd(DtsAd dtsAd)
    {
        dtsAd.setUpdateTime(DateUtils.getNowDate());
        return dtsAdMapper.updateDtsAd(dtsAd);
    }

    /**
     * 批量删除广告
     *
     * @param ids 需要删除的广告主键
     * @return 结果
     */
    @Override
    public int deleteDtsAdByIds(Long[] ids)
    {
        return dtsAdMapper.deleteDtsAdByIds(ids);
    }

    /**
     * 删除广告信息
     *
     * @param id 广告主键
     * @return 结果
     */
    @Override
    public int deleteDtsAdById(Long id)
    {
        return dtsAdMapper.deleteDtsAdById(id);
    }
}
